package com.billard.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * 登录DTO
 * Entity（实体类）
 * 作用：与数据库表结构一一对应
 * 特点：属性与表字段完全映射
 * 示例：User、Table、Reservation
 * DTO（数据传输对象）
 * 作用：接收前端请求数据
 * 特点：按需封装前端传递的参数
 * 示例：LoginDTO（仅包含 username、password）、ReservationDTO
 * VO（视图对象）
 * 作用：向前端返回数据
 * 特点：根据前端需求组装数据，可包含计算字段
 * 示例：LoginVO（含用户信息、权限、token）、TableVO（含状态描述、费用计算）
 * Query（查询对象）
 * 作用：封装查询条件，特别是分页查询
 * 特点：包含查询参数和分页信息
 * 示例：UserQuery（含用户名、角色、分页信息）、ReservationQuery（含日期范围、状态）
 */

@NoArgsConstructor  // ✅ 必须：无参构造函数（MyBatis、Spring 需要）
@AllArgsConstructor // ✅ 可选：全参构造（配合 builder 使用）
@Data
public class LoginDTO {
    /**
     * 用户名
     */
    private String username;

    /**
     * 密码
     */
    private String password;
}
